import axios from 'axios'
import store from '@/store'
// import router from '@/router'

const request = axios.create({
  baseURL: 'http://edufront.lagounews.com'
})

request.interceptors.request.use(config => {
  const { user } = store.state
  if (user && user.access_token) {
    config.headers.Authorization = user.access_token
  }
  return config
})

// function redirectLogin () {
//   router.push({
//     name: 'login',
//     query: {
//       redirect: router.currentRoute.fullPath
//     }
//   })
// }

// let isRefreshing = false
// let requests = []

// request.interceptors.response.use(response => {
//   return response
// }, async error => {
//   if (error.response) {
//     // 检测状态码是否为401
//     if (error.response.status === 401) {
//       // 检测是否存在登录信息
//       if (!store.state.user) {
//         redirectLogin()
//         return Promise.reject(error)
//       }

//       if (isRefreshing) {
//         return requests.push(() => {
//           request(error.config)
//         })
//       }
//       // 发送请求 刷新token
//       const { data } = await request({
//         method: 'POST',
//         url: '/front/user/refresh_token',
//         data: new (Window.URLSearchParams({
//           refreshtoken: store.state.user.refresh_token
//         })).toString()
//       })

//       if (data.state !== 1) {
//         // 刷新token失败
//         store.commit('setUser', null)
//         redirectLogin()
//         return Promise.reject(error)
//       }
//       store.commit('setUser', data.content)
//       requests.forEach(callback => callback())
//       requests = []
//       isRefreshing = false
//       return request(error.config)
//     }
//   }
//   return Promise.reject(error)
// })

export default request
